#pragma once
#include "coords.h"
#include "stdafx.h"

class CArray3D
{
public:
				CArray3D(int isize, int jsize, int ksize);
				~CArray3D(void);
	int&		operator() (int i, int j, int k);
	const int&	operator() (int i, int j, int k) const;

<<<<<<< .mine
	inline int	XSize(void) { return xs; }
	inline int	YSize(void) { return ys; }
	inline int	ZSize(void) { return zs; }
	PCoords		Size(void) { return make_shared<CCoords>(xs,ys,zs); };
=======
	inline int	getImax(void) { return imax; }
	inline int	getJmax(void) { return jmax; }
	inline int	getKmax(void) { return kmax; }
	PCoords		getSize(void) { return make_shared<CCoords>(imax,jmax,kmax); };
>>>>>>> .r66

	class BadSize { };
	class BoundsViolations { };
private:
	int*** arr3D;
	const int imax,jmax,kmax;
	mutable int bViol;
};

typedef shared_ptr<CArray3D> PArray3D;